/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package jforum.actions;

import java.util.Date;
import java.util.List;
import java.util.Random;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jforum.DAO.UserDAO;
import jforum.domain.User;
import jforum.security.HashUtil;
import jforum.util.DBConnector;
import jforum.security.MD5Util;

/**
 * Действие регистрации
 * @author Вадим
 */
public class RegisterAction implements Action {

    public String perform(HttpServletRequest request, HttpServletResponse response) throws Exception {

        String pass1=request.getParameter("pass1");
        String pass2=request.getParameter("pass2");
        if (!pass1.equals(pass2)) {
            request.getSession().setAttribute("errorMessage", "Пароли не совпадают.");
            return ActionNames.error_page;
        }
        String login=request.getParameter("login");
        if (login==null) {
            request.getSession().setAttribute("errorMessage", "Пустое имя пользователя");
            return ActionNames.error_page;
        }
        String email=request.getParameter("email");
        pass1=HashUtil.hash(pass1);
        User user=new User(-1, login, pass1, email);
        user.reg_time=new Date();
        Random rand=new Random(System.currentTimeMillis());
        // формируем хеш ключа активации
        user.act_key=HashUtil.hash(new Integer(rand.nextInt(1000000)).toString())+user.login;

        DBConnector conn=DBConnector.getInstance();
        UserDAO dao=new UserDAO(conn);

        dao.Save(user);

        return ActionNames.view_login_action;
    }

}
